An digital ink is known which makes it possible to retain, as vector data, a character or an image written on a position detector such as a tablet or the like by using an input device such as an electronic pen, a stylus, or the like, and later reproduce the character or the image. The digital ink is data formed by converting a trajectory of movement of the input device on the position detector into electronic data so as to imitate a handwriting trajectory (stroke) drawn on paper. The digital ink generally includes, for example: (1) data for reproducing the handwriting trajectory by a set of coordinate points, control points, and the like; (2) data describing a style of rendering the handwriting trajectory, such as color information, a pen point (pen tip) type, and the like; and (3) data describing a geometric conversion rule for data on the trajectory, such as a coordinate transformation matrix or the like. Several types of formats have been proposed as concrete formats of the digital ink, as disclosed in Non-Patent Documents 1 to 4 below, for example.
InkML described in Non-Patent Document 1 is a most widely known digital ink data format. In InkML, the “data for reproducing the handwriting trajectory” of (1) above is referred to as a <trace> element. The <trace> element describes a set of a plurality of pieces of point data constituting the trajectory of one stroke (operation from the bringing of an indicator in contact with a sensor surface of a position detecting device to the separation of the indicator from the sensor surface) (which data is detected at predetermined time intervals by the input sensor, and includes data representing attributes depending on the input sensor (input sensor attributes), such as point data (x, y), pen pressure data, time data, and the like). In addition, data such as a <brush> element or the like is defined as the “data specifying the trajectory rendering style” of (2) above. Data such as a <mapping> element or the like is defined as the “data describing the conversion rule for data on the trajectory” of (3) above. In addition, it is disclosed that an <inkSource> element allows description of a manufacturer, a model, a serial number, and the like of a hardware device that supplies the ink data.
ISF (Ink Serialized Format) described in Non-Patent Document 2 is a digital ink data format used in an application from Microsoft Corporation. The “data for reproducing the handwriting trajectory” of (1) above is referred to as StrokeDescriptorBlock in ISF. In StrokeDescriptorBlock, points for reproducing the trajectory of a stroke (which points are x- and y-coordinate values), a pen pressure value, and the like are described. DrawingAttributeBlock is defined as the “data specifying the trajectory rendering style” of (2) above. TransformBlock is defined as the “data describing the conversion rule for data on the trajectory” of (3) above.
SVG described in Non-Patent Document 3 is a markup language for describing a set of a two-dimensional graphics application, an image, and a graphic script. In SVG, there is a <path> element as the “data for reproducing the handwriting trajectory” of (1) above. The <path> element includes a plurality of control points (coordinate data) used for curve interpolation. A trajectory is reproduced by a Bezier curve based on the plurality of control points.
HTML5 described in Non-Patent Document 4 defines a data type referred to as a Canvas Path class as the “data for reproducing the handwriting trajectory” of (1) above. In the Canvas Path class, control points are given, which are necessary to generate a cubic curve for generating each segment, in reproducing a trajectory by connecting segments of a plurality of Bezier curves.
Patent Document 1, below, describes a technology related to compression of a digital ink. In order to compress a data amount of raw data obtained by coordinate detection while handwriting is performed, the number of pieces of necessary point data is reduced by using a curve interpolation algorithm, and the data is compressed.
In the following, the <trace> element in Non-Patent Document 1, StrokeDescriptorBlock in Non-Patent Document 2, the <path> element in Non-Patent Document 3, the Canvas Path class described in Non-Patent Document 4, the compressed digital ink in Patent Document 1, and the like will be referred to collectively as stroke data, which are vector data for reproducing a handwriting trajectory input by using a position detector based on a series of pieces of point data.
Some input devices such as electronic pens or the like retain unique identification information such as so-called pen identification information PID or the like. An input device of this kind internally includes a ROM storing unique identification information, and is configured to be able to output the unique identification information to a position detector such as a tablet or the like.
The pen identification information PID obtained by the position detector can be obtained from an application through a driver or a library API corresponding to a function of the position detector. Non-Patent Document 5, below, describes an example of a driver or a library API referred to as wintab. Section C.4 of the document describes specifications of UniqueID as the pen identification information PID output by an API referred to as wintab in a case where Intuos (registered trademark), which is a position detector from Wacom, is used as the position detector.